<?php

namespace common\components\fs;

use common\models\db\Files;

interface FsApi
{
    /**
     * 组件ID
     * @return string
     */
    public static function getComponentId(): string;

    /**
     * 表单形式提交
     * @param array $tmp $_FILES下的一个临时文件
     * @return Files
     * @throws \Exception
     */
//    public function uploadByTmpFile($tmp);

    /**
     * Base64形式提交
     * @param $base64
     * @return Files
     * @throws \yii\base\Exception
     */
//    public function uploadByBase64($base64);

    /**
     * Base64保存
     * @param string
     * @return string url
     * @throws \yii\base\Exception
     */
    public function uploadBase64($idFileName, $base64Content);

    /**
     * @return Files|null
     * @throws \yii\base\Exception
     */
    public function saveFile();

    /**
     * @return string
     */
    public function getAbUrl();
}
